Network probing for capacity is commonly performed using one of many available methods, for example the Variable Probing Size (VPS) method and the Probe Gap Model (PGM) method.
VPS probing measures round-trip times (RTT) for variable packet sizes, and deduces capacity from the different RTTs measured. VPS uses the IP Time-To-Live parameter to measure individual hops. One major downside of VPS is that it does not work correctly when the path of the probe includes multiple network links, or multiple switches. VPS can probe link by link but only on layer-3 routes, as is known in the art, and typically because of this VPS only probes between routers in an IP network, while aggregating capacity on other, non-layer-3 links. One result of this is that VPS can underestimate path capacity. The way around this is to break down the network and apply VPS probing to the individual links that make up a path. This increases considerably the pre-knowledge needed to apply the method effectively to a network and the complexity of the method applied in an individual case. However, even this breaks down if switches or other layer-2 or layer-1 devices are included in the network. A domestic network typically includes such non-layer-3 devices.
An alternative, PGM probing, uses 2 back-to-back probe packets of the same size. Sending two packets back-to-back means that there is no transmission delay between the two sent packets. This is known by the skilled person. However as these packets travel across various network links to their destination they will suffer various delays.
Serialization delay in a network is the delay caused by the bandwidth of the medium on which packets are sent. It is the time that is needed to transmit the packet. For a packet of size L (bits) at a link of transmission rate C (bits/s), the serialization delay is equal to L/C. For example, to send a packet of 10,000 bits on a link with a transmission rate of 10,000,000 bits/second, it will take 0.001 second or 1 millisecond to transmit the packet. Serialization delay is dependent on the packet size and is the time it takes to actually transmit a packet.
Queuing delay is the delay suffered by a probing packet because of cross traffic. If multiple data streams are sent across the same network link, they are normally queued and buffered and then transmitted one packet at a time on the network link. This can mean that a probing packet is buffered for a certain amount of time, awaiting its turn to be transmitted. This delay is called queuing delay. Note that such queuing delay can occur in any device on the path between sender and receiver, including the sender itself. Since this delay is dependent on other data packets, it is independent on the probing packet size.
Propagation delay is the time it takes for a packet to physically traverse a network link and is dependent on the medium used for transmission but independent of the packet size. For example, on a 50 meter Ethernet cable (CAT-cable), the propagation delay is 50 m/177,000,000 m/s=0.28 μs. Putting a 1500 byte packet (maximum normal Ethernet packet size) on a 1 Gbit/s network link causes a serialization delay of 1500*8 bits/1,000,000,000 bits/s=12 μs. The propagation delay in this example is only 2.3% of the serialization delay. Thus, unless packets travel for very long distances or on very high network speeds, the propagation delay is negligible in most cases when performing network measurements.
There is also a processing delay to be taken into account. To enable measurements the probe sender and the probe receiver put a timestamp on a probe packet for ‘packet sent’ and for ‘packet received’. However, the timestamping of the packet usually occurs due to software in the device and is not part of the network interface card itself, thus, when sending a packet, there is a small amount of time between the time of putting the timestamp on the packet and the actual transmission of the packet on the network. Similarly, there is a small amount of time between the receiving of a packet and the time of putting the timestamp on it and this small difference is called processing delay.
A final delay to be taken into account is probe reply delay, the delay caused by a receiver of a probe packet. It is the time taken to receive a probe and sent out a reply.
For determining a path's capacity with PGM, the queuing delay must be zero. Assuming the cross traffic having stochastic properties, a long enough series of probing measurements will yield at least one measurement where the queuing delay is zero. The measurement is identified by taking the minimum delay of probe packets of a number of measurements. If not negligible, the propagation delays of the PGM probes will be equal since both probe packets travel the same links. Furthermore, since the packets are of equal size, processing delays, probe reply delays and serialization delays will also be the same for both packets.
What is different, however, is the serialization delay for each network link. Network links with higher speeds have smaller serialization delays while network links with lower speeds have higher serialization delays. As both probe packets travel across different links, they are dispersed based on the serialization delays. The initial dispersion is caused by the first link, as the probe sender transmits the packets on the network. Each time the probe packets encounter a network link that is faster than at least one previously travelled slower link, the dispersion remains the same. But, each time the probe packets encounter a network link that is slower than any previously travelled link, the dispersion will increase due to the longer serialization delay.
Since the size of the dispersion between the two probe packets at the receiver is determined by the slowest network links, this means that PGM can be used to measure the bottleneck link on the probe path and in fact PGM can only measure the bottleneck link.
Capacity on this bottleneck link can be determined using well known formulae, as is known in the art.
The most advanced variety of PGM is described, for example, in Delphinanto, A. et al, “End-to-end available bandwidth probing in heterogeneous IP home networks”, Consumer Communications and Networking Conference (CCNC), 2011 IEEE, pp. 431-435, 9-12 Jan. 2011. This paper shows that PGM can be used to determine bottleneck link speeds in heterogeneous networks consisting of links differing in speeds and medium, for example wired links and wireless links etc.
While PGM-probing provides the capacity and available bandwidth of a layer-2 bottleneck link in a layer-3 network path, in a multi-line network route it cannot ascertain which link is the bottleneck link.
What is needed in the art is to find out as much as possible about the network being probed.